Developers creating applications must make specific decisions regarding, for example, application type, deployment strategy, programming language, and security, performance, and usability attributes. If the application is going to use third-party services, such as a cloud-based software as a service (SaaS), then developer must also determine what application programming interfaces (APIs) are needed to interact with those services. For example, the developer must determine what specific APIs to use to access third-party storage, email, database, or other applications.